home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128Toolkit / MSD-DU15.ARC / DISK CHECKUP (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  4.7 KB  |  181 lines

  1. 100 GOTO280
  2. 110 REM INNER TRACE LOOP
  3. 120 PRINT#1,"U1 2 0";T;S
  4. 130 INPUT#1,EN,EM$,ET,ES
  5. 140 IFEN<>0THENGOTO1960:REM DISK TRACE ERROR
  6. 150 LT%(I)=LT%(I)+1
  7. 160 IFOB%(T,S)<>0THENGOTO1410:REM FILE INTERSECT
  8. 170 OB%(T,S)=I
  9. 180 GET#2,A$,B$
  10. 190 IFA$=""THENGOTO1450:REM TRACE LOOP CONTINUE
  11. 200 IFB$=""THENB$=CHR$(0)
  12. 210 T=ASC(A$):S=ASC(B$)
  13. 220 GOTO120:REM INNER TRACE LOOP
  14. 280 DIMI,S,T,X,Y,Z
  15. 290 DIMBC,EN,ES,ET,IM,LC,OF,PF,S1,S2,SF,T1,T2
  16. 300 DIMTS%(144),SS%(144),LD%(144),LT%(144),PF%(144),N$(144)
  17. 310 DIMOB%(35,20)
  18. 320 CLOSE1:OPEN1,8,15:CLOSE2:CLOSE1
  19. 340 PRINTCHR$(147)
  20. 350 PRINT
  21. 360 PRINT"            DISK CHECK-UP
  22. 370 [153] "           TAB(
  23. 380 PRINT" CHECKS:
  24. 390 [153]
  25. 400 [153] "  -- START LINKS DIFFERENT
  26. 410 PRINT
  27. 420 PRINT "  -- TRACE FILE LEN = DIR FILE LEN
  28. 430 [153]
  29. 440 [153] "  -- FILES DO NOT OVERLAP
  30. 450 PRINT
  31. 460 PRINT "  -- (3) BLOCKS FRE
  32. 470 [153]
  33. 490 [143] SHO      -36 CY-             SHP
  34. 500 [143] CMG                          CMM
  35. 510 [143] CMG     BOX BELOW            CMM
  36. 520 [143] CMG                          CMM
  37. 530 [143] SHL      -36 CP-             SH@
  38. 550 [153] " (null)USRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSR(null)
  39. 560 PRINT" [165]THIS UTILITY DOES NOT WRITE TO DISK.[167]
  40. 570 [153] " FN                                    THEN
  41. 580 PRINT" [165]   (PROBLEM FILES ARE DISPLAYED)[146]    [167]
  42. 590 [153] " FN          IN INVERSE VIDEO)WAIT         THEN
  43. 600 PRINT" [204][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][186]
  44. 610 [129] X[178]1 [164] 1000:[130]
  45. 620 [153]
  46. 640 [143] FIND START OF ACTIVE FILES
  47. 650 [153]
  48. 660 [153] "      START                    LENGTH  "
  49. 670 [153] "FILE  T , S    FILE NAME     DIR--TRACE"
  50. 680 [153] "TAB(TAB(TAB(TAB(  TAB(TAB(TAB(TAB(TAB(   TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(    TAB(TAB(TAB(  TAB(TAB(TAB(TAB(TAB("
  51. 690 [159] 1,8,15
  52. 700 [159] 2,8,2,"#"
  53. 710 T1[178]18:S1[178]1:I[178]1
  54. 720 [143] NEXT DIRECTORY SECTOR
  55. 730 :  [139] T1[178]0 [167] [137]1010:[143] DIRECTORY CLOSE
  56. 740 :  [152]1,"U1 2 0";T1;S1
  57. 750 :  [132]1, EN,EM$,ET,ES
  58. 760 :  [139] EN[179][177]0 [167] [137] 1980:[143] DISK ERROR
  59. 770 :  [161]#2,A$,B$
  60. 780 :  T2[178]T1:S2[178]S1
  61. 790 :  T1[178][198](A$[170][199](0))
  62. 800 :  S1[178][198](B$[170][199](0))
  63. 810 :  [129] X[178]2 [164] 255 [169] 32
  64. 820 :    [152]1,"U1 2 0";T2;S2
  65. 830 :    [152]1,"B-P 2";X
  66. 840 :    [132]1, EN,EM$,ET,ES
  67. 850 :    [139] EN[179][177]0 [167] [137] 1980:[143] DISK ERROR
  68. 860 :    [161]#2,C$,D$,E$,F$,G$,H$,I$,J$,K$,L$,M$,N$,O$,P$,Q$,R$,S$,T$,U$
  69. 870 :    [139] C$[178]"" [167] [137] 980:[143] DIRECTORY CONTINUE
  70. 880 :    TS%(I)[178][198](D$[170][199](0))
  71. 890 :    SS%(I)[178][198](E$[170][199](0))
  72. 900 :    N$(I)[178]F$[170]G$[170]H$[170]I$[170]J$[170]K$[170]L$[170]M$[170]N$[170]O$[170]P$[170]Q$[170]R$[170]S$[170]T$[170]U$
  73. 910 :    [152]1, "B-P 2";X[170]28
  74. 920 :    [161]#2,V$,W$
  75. 930 :    LD%(I)[178][198](V$[170][199](0))[170]256[172][198](W$[170][199](0))
  76. 940 :    [153] I;[163]4)TS%(I);[163]8)",";[163]9)SS%(I);
  77. 950 :    [153] [163]13)N$(I);[163]29)LD%(I);[163]33);"--";LT%(I)
  78. 960 :    I[178]I[170]1
  79. 970 :    [143]  DIRECTORY CONTINUE
  80. 980 :    [130]
  81. 990 [137] 730:[143] NEXT DIRECTORY SECTOR
  82. 1000 [143] DIRECTORY CLOSE
  83. 1010 IM[178]I[171]1
  84. 1020 [160] 2:[160] 1
  85. 1040 [153]
  86. 1050 [153] " CHECKING START LINKS FOR OVERLAP"
  87. 1060 [153]
  88. 1070 [139] IM[178]0 [176] IM[178]1 [167] [137] 1250:[143]  START LINK END
  89. 1080 [129] I[178]2 [164] IM
  90. 1090 :  [129] Y[178]1 [164] I[171]1
  91. 1100 :    [139] TS%(Y)[178]TS%(I)[167] [139] SS%(Y)[178]SS%(I)[167] [137] 1150:[143] FILE OVERLAP
  92. 1110 :  [130]
  93. 1120 [130]
  94. 1130 [137] 1250:[143] START LINK END
  95. 1140 [143] FILE OVERLAP
  96. 1150 :    PF%(I)[178]1:PF%(Y)[178]1
  97. 1160 :    OF[178]1:[143] SET OVERLAP FLAG
  98. 1170 :    [153] Y;[199](18);[163]4)TS%(Y);[163]8)",";
  99. 1180 :    [153] [163]9)SS%(Y);[163]13)N$(Y);[199](146);
  100. 1190 :    [153] [163]29)LD%(Y);[163]33);"--";LT%(Y)
  101. 1200 :    [153] I;[199](18);[163]4)TS%(I);[163]8)",";
  102. 1210 :    [153] [163]9)SS%(I);[163]13)N$(I);[199](146);
  103. 1220 :    [153] [163]29)LD%(I);[163]33);"--";LT%(I)
  104. 1230 [137] 1110:[143] START LINK CONTINUE
  105. 1240 [143]  START LINK END
  106. 1250 [139] OF[178]0 [167] [153] "     --START LINKS OK--"
  107. 1270 [153]
  108. 1280 [153] "TRACING FILES"
  109. 1290 [153]
  110. 1300 [159] 1,8,15
  111. 1310 [159] 2,8,2,"#"
  112. 1320 [139] IM[178]0 [167] [137] 1530:[143] TRACE END
  113. 1330 [129] I[178]1 [164] IM
  114. 1340 :    T[178]TS%(I)
  115. 1350 :    S[178]SS%(I)
  116. 1360 :    LT%(I)[178]0
  117. 1370 :    PF$[178]""
  118. 1380 :    SF[178]0
  119. 1390 :    [137] 120:[143] INNER TRACE LOOP
  120. 1400 :    [143] FILE INTERSECT
  121. 1410 :    PF%(OB%(T,S))[178]1
  122. 1420 :    PF%(I)[178]1
  123. 1430 :    SF[178]1:[143] SET INTERSECT FLAG
  124. 1440 :    [143] TRACE LOOP CONTINUE
  125. 1450 :    BC[178]BC[170]LT%(I)
  126. 1460 :    [153] I;[163]4)TS%(I);[163]8)",";[163]9)SS%(I);
  127. 1470 :    [139] LT%(I)[179][177]LD%(I) [167] PF%(I)[178]PF%(I)[170]2:[153] [199](18);
  128. 1480 :    [153] [163]13)N$(I);[163]29)LD%(I);[163]33);"--";LT%(I)
  129. 1490 :    [139] PF$[179][177]""[167] [153] "   (FILE";I;"CONTAINS ";[170]PF$;")":[153]
  130. 1500 :    [139] SF[178]1 [167] [153] "   (FILE";I;"INTERSECTS FILE ";OB%(T,S);")":[153]
  131. 1510 [130]
  132. 1520 [143] TRACE END
  133. 1530 [160] 2:[160] 1
  134. 1550 [153]
  135. 1560 [153] " PROBLEM FILES--"
  136. 1570 [153] " TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB("
  137. 1580 [139] IM[178]0 [167] [137] 1710:[143] PROBLEM FILE END
  138. 1590 [129] I[178]1 [164] IM
  139. 1600 :  [139] PF%(I)[178]0 [167] [137] 1690:[143] PROBLEM LOOP CONTINUE
  140. 1610 :  PF[178]1:[143] SET PROBLEM FILE FLAG
  141. 1620 :  [153] I;
  142. 1630 :  [139] PF%(I)[178]1 [176] PF%(I)[178]3 [167] [153] [199](18);
  143. 1640 :  [153] [163]4)TS%(I);[163]8)",";[163]9)SS%(I);
  144. 1650 :  [153] [199](18);[163]13)N$(I);[199](146);
  145. 1660 :  [139] PF%(I)[178]2 [176] PF%(I)[178]3 [167] [153] [199](18);
  146. 1670 :  [153] [163]29)LD%(I);[163]33);"--";LT%(I)
  147. 1680 :  [143]  PROBLEM LOOP CONTINUE
  148. 1690 [130]
  149. 1700 [143] PROBLEM FILE END
  150. 1710 [139] PF[178]0 [167] [153] "      NONE"
  151. 1720 [153]
  152. 1730 [153] " BLOCK COUNT = ";BC
  153. 1740 [153]
  154. 1750 [153] " BLOCKS FREE = ";664[171]BC;[163]20)"(TRACE)"
  155. 1760 [129] I[178]0 [164] IM
  156. 1770 :  LC[178]LC[170]LD%(I)
  157. 1780 [130]
  158. 1790 [153] " BLOCKS FREE = ";664[171]LC;[163]20)"(DIR)"
  159. 1810 [143] DIR BAM BLOCKS FREE
  160. 1820 [159] 1,8,15
  161. 1830 [159] 2,8,2,"#"
  162. 1840 [152]1,"U1 2 0";18;0
  163. 1850 [132]1, EN,EM$,ET,ES
  164. 1860 [139] EN[179][177]0 [167] [137] 1980:[143] DISK ERROR
  165. 1870 [129] X[178]0 [164] 35
  166. 1880 :  [161]#2,W$,X$,Y$,Z$
  167. 1890 :  [139] X[179][177]0 [175] X[179][177]18 [167] BU[178]BU[170][198](W$[170][199](0))
  168. 1900 [130]
  169. 1910 [153] " BLOCKS FREE = ";BU;[163]20)"(BAM)"
  170. 1920 [160] 2:[160] 1
  171. 1930 [128]
  172. 1950 [143] DISK TRACE ERROR
  173. 1960 [139] EN[178]66 [167] PF$[178]"ILLEGAL LINK":[137] 1450:[143] TRACE LOOP CONTINUE
  174. 1970 [143] DISK ERROR
  175. 1980 [153]
  176. 1990 [153] " UNRECOVERABLE DISK ERROR"
  177. 2000 [153]
  178. 2010 [153] EN;EM$;ET;ES
  179. 2020 [160] 2:[160] 1
  180. 2030 [128]
  181.